(module
  (type $ii (func (param i32 i32)))
  (import "env" "memoryBase" (global $memoryBase i32))
  (import "env" "tableBase" (global $tableBase i32))
  (import "env" "memory" (memory $0 256))
  (import "env" "table" (table 0 anyfunc))
  (import "env" "some-func" (func $some-func))
  (import "env" "some-collide" (func $some-collide))
  (data (get_global $memoryBase) "hello, A!\n")
  (global $global-collide i32 (i32.const 0))
  (global $global-collide-mut (mut i32) (i32.const 0))
  (global $global-a i32 (i32.const 1))
  (elem (get_global $tableBase) $only-a $willCollide $some-func $some-collide $only-a)
  (export "exp-a" (func $only-a))
  (export "exp-collide" (func $only-a))
  (export "exp-collide2" (func $willCollide))
  (func $only-a
    (drop (i32.const 100))
    (call $only-a)
    (call_import $some-func)
    (call_import $some-collide)
    (call_indirect (type $ii)
      (i32.const 123)
      (i32.const 456)
      (i32.const 789)
    )
    (drop (get_global $global-collide))
    (drop (get_global $global-a))
    (drop (get_global $memoryBase))
    (drop (get_global $tableBase))
    (set_global $global-collide-mut (i32.const 1234))
  )
  (func $willCollide
    (drop (i32.const 200))
    (call $willCollide)
  )
)

